|
Um Hardware und Software gemeinsam und aufeinander abgestimmt
entwickeln zu können, wird im Hardware/Software-Codesign die
Entscheidung, welche Komponenten in Hardware oder Software
realisiert werden, auf eine spätere Entwurfsphase verschoben. Basis
des Entwurfs ist dann eine Spezifikation des ganzen Systems, die
weder eine Hardware- noch eine Software-Realisierung einzelner
Systemkomponenten bevorzugt. Solche Spezifikationswerkzeuge
existieren bisher nur für bestimmte Anwendungsbereiche. Um eine
universell einsetzbare Spezifikationssprache zu entwickeln, ist es
notwendig, existierende Spezifikationswerkzeuge zu analysieren. Im
Rahmen dieser Arbeit wurden die formalen Spezifikationssprachen
LOTOS und Esterel untersucht und verglichen. Die Sprache LOTOS wurde
als Beschreibungssprache zum OSI-Referenzmodell entwickelt; sie wird
hauptsächlich in der Prozeßkommunikation eingesetzt. LOTOS
enthält abstrakte Datentypen, die im mathematischen Sinn eine
Algebra bilden. Esterel ist eine synchrone Spezifikationssprache,
die vor allem für reaktive Systeme geeignet ist. Die Sprache wurde
zusammen mit ihrer mathematischen Semantik entwickelt. Um die beiden
Sprachen bewerten zu können, wurde jeweils eine Aufzugsteuerung
für drei Kabinen und neun Stockwerke entwickelt. Verschiedene
Konstrukte zur Realisierung von Nebenläufigkeit, Testmöglichkeiten
durch Testprozesse und Synchronisation über Nachrichtenaustausch
stellen die größten Vorteile von LOTOS dar. Die in LOTOS
verwendeten abstrakten Datentypen sind ein sehr mächtiges Werkzeug,
deren Anwendung jedoch einige übung erfordert. Negativ fällt an
LOTOS die nicht vorhandene Modularisierbarkeit und die fehlende
Möglichkeit zur Zeitdarstellung auf. Die Hauptvorteile von Esterel
liegen dagegen in der vorhandenen Modularisierbarkeit und
umfangreichen Konstrukten für Zeitdarstellung und
Ausnahmebehandlung. Nachteilig ist, daß Esterel ohne C-Umgebung
nicht ausgeführt werden kann. Damit besitzt Esterel ungefähr die
dualen Eigenschaften zu LOTOS.
|